<?php
class LoginHandler {
		
	private $status = "LoginHandler::LoggedIn";
	private $username;
	private $password;
	
	// Funktion för att se om en användare är inloggad,
	// returnerar true om användaren är inloggad - annars false 
	public function IsLoggedIn(){
		if(isset($_SESSION[$this->status])){
			return TRUE;
		}
		else {
			return FALSE;
		}
		
	}

	
	// Funktion för att logga in en användare,
	// returnerar true och sätter sessionen till true om inloggningen lyckades - annars returneras false
	public function DoLogin($user, $pass){
		$this->username = $user;
		$this->password = $pass;

		
		switch(isset($this->username)){
			case "Derpy":
				if($this->password == "Hooves"){
						$_SESSION[$this->status] =  TRUE;
						return TRUE;
				}
				else{
					return FALSE;
				}
				break;
			default:
					return FALSE;
				break;
		}
	}
	
	// Funktion för att logga ut
	//Sätter sessionen "LoggedIn" till false
	public function DoLogout(){
		
		if(isset($_SESSION[$this->status])){
			unset($_SESSION[$this->status]);
		}
		
	}
	// Testar klassen LoginHandler
	// går igenom olika test för funktionerna i klassen
	// returnerar false om något test inte fungerar, annars returneras true

	public function Test(){
		$this->DoLogout();
		
		// Testar IsLoggedIn
		// returnerar false ifall IsLoggedIn inte fungerar
		if($this->IsLoggedIn()){
			echo "IsLoggedIn fungerar inte";
			return false;
		}
		// Testar DoLogin
		// returnerar false ifall DoLogin inte fungerar
		if($this->DoLogin("Patrik", "Stjärna")){
			echo "DoLogin fungerar inte";
			return false;
		}
		// Testar DoLogin igen
		// returnerar false ifall det inte går att logga in med rätt användarnamn och lösenord
		if($this->DoLogin("Derpy", "Hooves") == FALSE){
			echo "DoLogin fungerar inte";
			return false;
		}
		// Testar DoLogout
		$this->DoLogout();
		
		//Testar DoLogin med rätt användarnamn och fel lösenord
		//Returnerar false om det fungerar
		if($this->DoLogin("Derpy", "Face")){
			echo "DoLogin med rätt användarnamn och fel lösenord fungerar inte";
			return false;
		}
		return true;
		
	}
}
?>